![]() |
![]() |
|
rtk 20142014.1.1 (napiši funkcijo)Dnevnik 1. podnalogaV računalniškem sistemu imamo zabeležene dogodke in bi jih radi v strnjeni obliki
shranjevali v seznam nizov. Vsak dogodek (kot na primer prijava ali odjava uporabnika,
razne napake) je predstavljen z nizom znakov (kratko besedilo/vrstica), dolžine največ Ker se nekateri dogodki včasih zgodijo večkrat zapored (ne da bi se vmes zgodil
kakšen drug dogodek), jih lahko shranimo v skrajšani obliki:
ponovitve zadnjega shranjenega dogodka le štejemo. Ko se kasneje
pojavi nek drugačen dogodek, shranimo le, da se je zadnji shranjen dogodek
ponovil še NalogaNapiši funkcijo Vhodni podatkiTekstovna datoteka
Izhodni podatkiFunkcija naj vrne seznam nizov, v katerem so strnjeni dogodki.
Uradna rešitevdef strni_izpis(dat): """Funkcija sprejme tekstovno datoteko z zaporednimi dogodki, in jih strne tako, da napiše, kolikokrat se kateri ponovi.""" prejsnja = "" n = 0 with open(dat, 'r', encoding='utf-8') as dat: sez_strnjenih = [] for dogodek in dat: if n > 0 and prejsnja == dogodek: n += 1 continue elif n == 2: sez_strnjenih.append("%s" % prejsnja[:-1]) elif n > 2: sez_strnjenih.append("ponovljeno se %d-krat" % (n - 1)) prejsnja = dogodek n = 1 if dogodek: sez_strnjenih.append(dogodek.strip()) return sez_strnjenih 2014.1.2 (napiši funkcijo)Čopiči 1. podnalogaV Ajdovščini tovarna Wlahna d. o. o. proizvaja krasne veganske bio čopiče, v celoti
narejene iz lesa. Leseni ročaji so tako ali tako nekaj običajnega, v tej tovarni pa
celó konico čopiča izdelajo iz lesa iste vrste, ki ga zmeljejo in predelajo v celulozna
vlakna.
V skladišču podjetja imajo lesene palčke enake debeline, a različnih dolžin, iz
katerih želijo izdelati same enake čopiče. Za posamezen ročaj potrebujejo NalogaNapiši funkcijo Vhodni podatki
Izhodni podatkiZaokroženo naravno število, ki predstavlja največje število čopičev, ki jih podjetje lahko proizvede. Primer
Uradna rešitevdef koliko_copicev(k, r, l): """Izračuna največje število čopičev, ki jih lahko proizvedemo glede na dolžino enega ročaja r, dolžino palčke k, potrebne za 1 konico, ter tabelo dolžin palčk.""" skup_dolzina = 0 max_rocajev = 0 for palica in l: skup_dolzina += palica max_rocajev += palica // r max_copicev = skup_dolzina // (k + r) if max_rocajev <= max_copicev: max_copicev = max_rocajev return max_copicev 2014.1.3 (napiši funkcijo)Pacifistični generali 1. podnalogaKer imajo vse svetovne vojaške velesile jedrsko orožje, ga moramo nujno imeti tudi pri nas v Sloveniji. Vlada je na IJS naročila izdelavo jedrskih konic, od Rusov pa so kupili bojno plovilo vnl-11 Triglav, kjer so smrtonosne rakete zdaj shranjene. Dostopa do tako uničujočega orožja ne sme imeti kdorkoli, ampak ga ima samo peščica najpomembnejših generalov. Ker bi se lahko med generali našel norec, ki bi za zabavo poslal raketo ali dve na katero
od sosednjih republik, so se na vojaškem ministrstvu odločili za stroge varnostne ukrepe.
Naročili so izdelavo Te ključe so nato razdelili med Na ministrstvu so pred kratkim opazili fenomen, na katerega pri snovanju sistema
sploh niso pomislili. Med generali je vedno več pacifistov, ki niso pod nobenimi
pogoji pripravljeni uporabiti jedrskega orožja. Vlada se zdaj boji, da bi lahko manjša
skupinica pacifistov ostalim generalom preprečila uporabo orožja. Rekli bomo, da
je sistem NalogaNapiši funkcijo Vhodni podatkiŠtevilo Omejitve vhodnih podatkovSistem ni večji od Izhodni podatkiFunkcija vrne PrimerRecimo, da imamo
Prvi general ima torej ključ št.
Sistem iz zgleda je Uradna rešitevdef odpornost(r, k, G): """Pove, ali je sistem ključev in generalov r-odporen ali ne.""" st_pojavitev = [0] * k for general in G: for kljuc in general: st_pojavitev[kljuc - 1] += 1 for i in range(k): if st_pojavitev[i] <= r: return False else: return True 2014.1.4 (napiši funkcijo)Uniforme 1. podnalogaPodjetje Wlahna d. o. o. se je odločilo svoje delavce obleči v praktične,
trpežne uniforme iz debelega platna, skozi katerega jih ne bodo mogle bosti
lesene trske, ki jih je v proizvodni hali podjetja vse polno. Uniforma
sestoji iz treh kosov: hlač, jopiča in rokavic. Vsak kos uniforme je dobavljiv
v velikostih od V podjetje je pravkar prispela nova pošiljka kosov uniform. Ko so jih razkladali s tovornjaka, so sproti popisali vsak kos uniforme (recimo: „hlače velikosti 73“). Zdaj jih zanima, koliko popolnih uniform lahko sestavijo. Popolna uniforma sestoji iz hlač, jopiča in rokavic v enaki velikosti. NalogaNapiši funkcijo Vhodni podatkiV prvi vrstici je zapisano število dostavljenih kosov
Izhodni podatkiNajvečje število uniform, ki jih lahko sestavimo glede na zalogo. Za zgornje podatke:
Uradna rešitevdef stevilo_uniform(vhod): """Iz datoteke prebere podatke o zalogi ter poišče in vrne število popolnih uniform, ki jih lahko sestavimo.""" zaloga = 100 * [0] # različnih velikosti je 100 for i in range(100): zaloga[i] = 3 * [0] max_uniform = 0 with open(vhod, 'r', encoding='utf-8') as vhodna: for vrstica in vhodna: podatek = vrstica.strip().split(' ') if len(podatek) > 1: oblacilo = int(podatek[0]) velikost = int(podatek[1]) zaloga[velikost - 1][oblacilo - 1] += 1 for i in range(100): velikost = zaloga[i] max_uniform += min(velikost) return max_uniformMesto objave ob koncu projekta 15.9.2018 |